package com.kt.common.clazz.seal

/**
 * sealed 表示密封类 ，可以有子类，但是必须在相同文件中声明 ，因为其构造函数是private
 * 并且 不允许有非-private 构造函数
 */
sealed class Expr
data class Const(val number: Double = 10.4) : Expr()
data class Sum(val e1: Expr, val e2: Expr) : Expr()
object NotANumber : Expr()
open class IsANumber : Expr()

